home *** CD-ROM | disk | FTP | other *** search
/ AmigActive 22 / AACD 22.iso / AACD / Programming / powerd / modules.lha / modules / intuition / classes.m < prev    next >
Encoding:
Text File  |  2000-06-30  |  712 b   |  38 lines

  1. MODULE    'exec/libraries',
  2.             'exec/nodes',
  3.             'utility/hooks'
  4.  
  5. OBJECT IClass
  6.     Dispatcher:Hook,
  7.     Reserved:LONG,
  8.     Super:PTR TO IClass,
  9.     ID:LONG,
  10.     InstOffset:UWORD,
  11.     InstSize:UWORD,
  12.     UserData:LONG,
  13.     SubClassCount:LONG,
  14.     ObjectCount:LONG,
  15.     Flags:LONG
  16.  
  17. CONST    CLB_INLIST=0,
  18.         CLF_INLIST=1
  19.  
  20. #define INST_DATA(cl,o) ((o)+(cl::IClass.InstOffset))
  21. #define SIZEOF_INSTANCE(cl) ((cl::IClass.InstOffset)+(cl::IClass.InstSize)+SIZEOF__Object)
  22.  
  23. CONST    OJ_CLASS=8
  24.  
  25. OBJECT _Object
  26.     Node:MLN,
  27.     Class:PTR TO IClass
  28.  
  29. #define _OBJ(o) (o)
  30. #define BASEOBJECT(_obj) ((_obj)+SIZEOF__Object)
  31. #define _OBJECT(o) ((o)-SIZEOF__Object)
  32. #define OCLASS(o) (Long(_OBJECT(o)+OJ_CLASS))
  33.  
  34. OBJECT ClassLibrary
  35.     Lib:Lib,
  36.     Pad:INT,
  37.     Class:PTR TO IClass
  38.